package kov.core
{
	/**
	 * 状态命令。
	 * @author Y.Boy
	 */	
	public class StateCommand
	{
		/**
		 * 命令要改变的内容。
		 */		
		protected var _content:Object;
		
		/**
		 * 命令名称。
		 */		
		public var stateName:String;
		
		/**
		 * 构造函数。
		 * @params stateName 命令名称。
		 */		
		public function StateCommand(stateName:String = "")
		{
			this.stateName = stateName;
		}
		
		/**
		 * 命令要改变的内容。
		 */		
		public function get content():Object
		{
			return _content;
		}
		
		/**
		 * 添加一个改变量。
		 * @param prop 要改变的属性的名称。
		 * @param volume 改变量。
		 */		
		public function setValue(prop:String, volume:Number):void
		{
			if (!_content)
			{
				_content = {};
			}
			
			_content[prop] = volume;
		}
		
		/**
		 * 清除所有改变量。
		 */		
		public function clean():void
		{
			if (!_content)
			{
				return;
			}
			
			for (var stateName:String in _content)
			{
				delete _content[stateName];
			}
		}
		
	}
}